home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Digital Talk 52
/
Digital_Talk_52_2001-12-15_Digital_Talk_de_Side_A.d64
/
spritedit 5 _kah
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
5KB
|
200 lines
0 rem ------kht-spritedit05------
1 q=peek(820):onqgoto3,4:d$="data[155]":k$="[157],":goto600
2 poke820,1:list49-70
3 poke820,2:goto100
4 goto410
9 open4,4:open5,4,6:cmd4:print#5,chr$(30):close5:close4:end
10 data 0, 0, 0
11 data 0, 0, 0
12 data 0, 0, 0
13 data 0, 0, 0
14 data 0, 0, 0
15 data 0, 0, 0
16 data 0, 0, 0
17 data 0, 0, 0
18 data 0, 0, 0
19 data 0, 0, 0
20 data 0, 0, 0
21 data 0, 0, 0
22 data 0, 0, 0
23 data 0, 0, 0
24 data 0, 0, 0
25 data 0, 0, 0
26 data 0, 0, 0
27 data 0, 0, 0
28 data 0, 0, 0
29 data 0, 0, 0
30 data 0, 0, 0
49 rem 765432107654321076543210
50 data ........................
51 data ........................
52 data ........................
53 data ........................
54 data ........................
55 data ........................
56 data ........................
57 data ........................
58 data ........................
59 data ........................
60 data ........................
61 data ........................
62 data ........................
63 data ........................
64 data ........................
65 data ........................
66 data ........................
67 data ........................
68 data ........................
69 data ........................
70 data ........................
100 fori=0to62:readd:next
110 d$="data[155]":k$="[157],"
200 fori=10to30
210 print"[152]"i;d$;
220 reada$
230 forj=0to2
240 b$=mid$(a$,8*j+1,8)
250 z=0
260 fork=1to8
270 c$=mid$(b$,k,1)
280 ifc$="."thenz=2*z
290 ifc$="*"thenz=2*z+1
300 next
302 ifj=2then312
310 printtab(5*j+9)z;k$;:nextj
312 printtab(5*j+9)z;
320 nextj
330 print
340 nexti
350 gosub380:stop
380 print" [158]zeilen-<return> dann 'run'"
382 print" [152]neustart [155]'goto 922'[145][145][145][152]":return
400 rem ---daten in speicher?---
410 print"[147][152]daten in den speicher setzen ? <j[152]/n[152]>"
420 r$="":getr$:ifr$<>"j"andr$<>"n"then420
422 ifr$="j"then430
429 goto900
430 print"[152]an welchen sprite-speicherplatz ?"
432 print"zahl 13[152]-15[152] oder 128[152]-255[152] eingeben"
434 print"an spritespeicher: [158]";:poke19,1:inputm0:poke19,0:print
436 m=m0*64
440 print"[152]sollen die daten ab seicherstelle"
442 print"[157]"m"[152]in den speicher"
444 print"eingelesen werden? <j[152]/n[152]>"
446 r$="":getr$:ifr$<>"j"andr$<>"n"then446
448 ifr$="j"then452
449 goto900
450 rem ---daten speichern---
452 restore
454 fori=0to62:readd:pokem+i,d:next
460 print"[152]die daten sind nun gespeichert !"
462 print"[152]kontrollansicht? <j[152]/n[152]>"
464 r$="":getr$:ifr$<>"j"andr$<>"n"then464
466 ifr$="j"then470
469 goto900
470 print"[147]":fori=0to62step3
471 m1=peek(m+i):m2=peek(m+i+1):m3=peek(m+i+2)
472 print"[152]"m+i"[155]";
474 ifm1>99then478
475 ifm1>9then477
476 print" ";
477 print" ";
478 printm1;
480 ifm2>99then484
481 ifm2>9then483
482 print" ";
483 print" ";
484 printm2;
490 ifm3>99then494
491 ifm3>9then493
492 print" ";
493 print" ";
494 printm3
496 next
499 goto902
500 rem ---sprite-ansicht---
502 print"[147]":goto530
512 poke2040,m0
514 poke53248,32:poke53264,1:rem x-pos
516 poke53249,78:rem y-pos
518 poke53287,1:rem farbe
520 poke53271,1:poke53277,1:rem groesser
522 poke53269,1:rem einschalten
524 return
530 gosub512:poke820,0:run
600 rem ---programm-einstieg---
602 poke53280,5:poke53281,11:poke646,12:poke53269,0
604 print"[147][158]sprite-editor von kahate[152]"
605 print"[144] weiter mit <return> [146][152]"
606 r$="":getr$:ifr$<>chr$(13)then606
608 print"sprite n[152]eu editieren taste":print"spritedaten a[152]nsehen?";
610 print" <n[152]/a[152]>"
612 r$="":getr$:ifr$<>"n"andr$<>"a"then612
614 on-(r$="n")-2*(r$="a")goto2,620
616 goto612
620 print"[152]an welchem sprite-platz"
622 print"befinden sich die daten?"
624 print"zahl 13[152]-15[152] oder 128[152]-255[152] eingeben"
626 print"spritespeicher-zahl: [158]";:poke19,1:inputm0:poke19,0:print:m=m0*64
628 print"[152]auswertung der spritedaten":print"ab speicherplatz:"m
630 print"[152]umrechnung <u[152]> - abbruch <a[152]>"
632 r$="":getr$:ifr$<>"u"andr$<>"a"then632
634 on-(r$="u")-2*(r$="a")goto650,900:goto632
640 m0$="":m0$=mid$(str$(m0),2)
642 iflen(m0$)>=3thenreturn
644 m0$=" "+m0$:goto642
650 poke820,1:print"[147][152]49 rem 765432107654321076543210"
652 gosub640:print"[145][144]#[158]"m0$"[155]"
654 fori=50to70
656 b$=mid$(str$(i),2)+chr$(32)
658 b$=b$+d$+chr$(32)
660 forj=0to2
662 u=peek(m+(3*(i-50))+j)
664 v=128
666 fork=0to7
668 onr1goto676
670 ifu>=vthenu$=u$+"*":goto690
672 ifu<vthenu$=u$+".":goto691
676 ifu>=vthenu$="*"+u$:goto690
678 ifu<vthenu$="."+u$:goto691
690 u=u-v
691 v=v-(v/2)
692 nextk:nextj
694 b$=b$+u$
696 printb$:b$="":u$=""
698 nexti:onr1goto790
700 printtab(8)"a[152]nzeige nr: <+[152]/-[152]>"
702 printtab(8)"ab speicher w[152]eiter[145][145]"
704 gosub640:printtab(22)"[158]"m0$"[152][145]"
710 r$="":getr$:ifr$="a"then800
712 on-(r$="+")-2*(r$="-")goto830,840
714 on-(r$="w")-2*(r$="n")goto720,922
716 goto710
720 printtab(8)" sprite gespiegelt neu "
722 printtab(8)" umrechnen? <j[152]/n[152]> [145][145]"
730 r$="":getr$:ifr$<>"n"andr$<>"j"then730
732 on-(r$="n")-2*(r$="j")goto740,742:goto730
740 r1=0:goto790
742 r1=1:goto650
790 gosub380:stop
799 poke198,0:wait198,1:stop
800 gosub640:m=m0*64
802 m$="":m$=mid$(str$(m),2)
804 iflen(m$)>=5then810
806 m$=" "+m$:goto804
810 printtab(20)"[158]"m$"[152][145][145]"
820 gosub512:goto704
830 m0=m0+1
832 ifm0>255thenm0=255
834 goto800
840 m0=m0-1
842 ifm0<0thenm0=0
844 goto800
900 print"[147]";
902 print"[152]sprite-a[152]nsicht prg-n[152]eustart e[152]nde?"
910 r$="":getr$:ifr$<>"a"andr$<>"n"andr$<>"e"then910
912 ifr$="a"thend$="data[155]":goto650
914 ifr$="n"then922
920 poke820,0:poke53280,14:poke53281,6:poke646,14:poke53269,0:print"[147]":end
922 poke53269,0:poke820,0:run